<!DOCTYPE html>
<ui:composition template="/template/layout.xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:h="http://xmlns.jcp.org/jsf/html"
	xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">

	<f:metadata>
		<o:viewParam name="id" value="#{lancamentoController.lancamentoForm.entidade}" />
		<f:viewAction action="#{lancamentoController.prepararCadastro()}" />
	</f:metadata>

	<ui:define name="titulo">Cadastro de lançamento</ui:define>
	<ui:define name="corpo">

		<h:form id="frm">

			<p:panel header="Cadastro de lançamento">

				<h:panelGrid columns="2">

					<p:outputLabel value="Tipo" for="tipo" />
					<p:selectOneButton id="tipo" value="#{lancamentoController.lancamentoForm.entidade.tipo}">
						<f:selectItems value="#{lancamentoController.lancamentoForm.tiposLancamentos}" var="tipoLancamento" itemValue="#{tipoLancamento}" itemLabel="#{tipoLancamento.descricao}" />
					</p:selectOneButton>

					<p:outputLabel value="Pessoa" for="pessoa" />
					<p:selectOneMenu value="#{lancamentoController.lancamentoForm.entidade.pessoa}" id="pessoa" filter="true" filterMatchMode="contains">
						<f:selectItem itemLabel="Selecione" noSelectionOption="true" />
						<f:selectItems value="#{lancamentoController.lancamentoForm.todasPessoas}" var="pessoa" itemValue="#{pessoa}" itemLabel="#{pessoa.nome}" />
					</p:selectOneMenu>

					<p:outputLabel value="Descrição" for="descricao" />
					<p:autoComplete id="descricao" size="60" value="#{lancamentoController.lancamentoForm.entidade.descricao}" completeMethod="#{lancamentoController.pesquisarDescricoes}" />

					<p:outputLabel value="Valor" for="valor" />
					<p:inputText size="12" value="#{lancamentoController.lancamentoForm.entidade.valor}" id="valor">
						<f:convertNumber locale="pt_BR" maxFractionDigits="2" minFractionDigits="2" />
					</p:inputText>

					<p:outputLabel value="Data de vencimento" for="dataVencimento" />
					<p:calendar id="dataVencimento" size="12" pattern="dd/MM/yyyy" locale="pt_BR" value="#{lancamentoController.lancamentoForm.entidade.dataVencimento}">
						<p:ajax event="dateSelect" update="@this dataPagamento" process="@this dataPagamento" listener="#{lancamentoController.dataVencimentoAlterada}" />
						<p:ajax event="change" update="@this dataPagamento" process="@this dataPagamento" listener="#{lancamentoController.dataVencimentoAlterada}" />
					</p:calendar>

					<p:outputLabel value="Data de pagamento" for="dataPagamento" />
					<p:calendar size="12" id="dataPagamento" pattern="dd/MM/yyyy" locale="pt_BR" value="#{lancamentoController.lancamentoForm.entidade.dataPagamento}" />

					<h:outputLabel />
					<p:commandButton value="Salvar" action="#{lancamentoController.salvar()}" icon="ui-icon-disk" update="@form" />

				</h:panelGrid>

			</p:panel>

		</h:form>

	</ui:define>
</ui:composition>